home *** CD-ROM | disk | FTP | other *** search
/ Playboy Club / Playboy Club.iso / instalar.mst < prev    next >
Text File  |  1997-10-13  |  13KB  |  362 lines

  1. '**************************************************************************
  2. '*  Instalaτπo do PlayClub CD-ROM - CVFR
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST ASKLANG       = 100
  12. CONST ASKQUIT       = 200
  13. CONST EXITFAILURE   = 400
  14. CONST EXITQUIT      = 600
  15. CONST OPTIONS       = 800
  16. CONST APPHELP       = 900
  17. CONST ACTIVATEFONTS = 1300
  18. CONST RESTARTWIN    = 1500
  19. CONST DESTPATH      = 1700
  20. CONST TOOBIG        = 6300
  21.  
  22. CONST WS_VISIBLE=&H10000000
  23. CONST WS_BORDER =&H00800000
  24. CONST WS_CLIPCHILDREN =&H02000000
  25. CONST GWL_STYLE =-16
  26. CONST SW_SHOWMAXIMIZED=3
  27.  
  28. ''Bitmap ID
  29. CONST FUNDO = 1
  30.  
  31. GLOBAL szInf$
  32. GLOBAL CUIDLL$      ''Define o nome da DLL a ser uasada.   
  33. GLOBAL CDROM$       ''Diret≤rio Default do CD-ROM.  
  34. GLOBAL DEST$        ''Diret≤rio Default de Destino.
  35. GLOBAL OPTCUR$      ''Opτπo de Seleτπo das Dialog Boxes.
  36. GLOBAL SRCDIR$      ''Mensagens de configuraτπo
  37. GLOBAL ASYM$        ''Diret≤rio do ASYM.INI  
  38. GLOBAL WININI$      ''Diret≤rio do WIN.INI  
  39. GLOBAL SYSINI$      ''Diret≤rio do SYSTEM.INI
  40. GLOBAL INI$
  41. GLOBAL INI_TB50$
  42. GLOBAL SPACOL&
  43. GLOBAL SPACOS&
  44. GLOBAL SaidaA$
  45. GLOBAL SaidaB$
  46. GLOBAL ErroFontes$
  47. GLOBAL Lang%
  48.  
  49. DECLARE SUB Install
  50. DECLARE SUB BackupInis (Extensao$)
  51. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  52. DECLARE FUNCTION ShowWindow  LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  53. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
  54. DECLARE FUNCTION wincpufeatures LIB "Cpuinf16.dll" AS LONG
  55.  
  56.  
  57. '**************************************************************************
  58. '**  Script Geral de Instalaτπo
  59. '**************************************************************************
  60.  
  61. hWnd%=HwndFrame()
  62. i1&=SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  63. j1%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  64. '*************************************************************************
  65. INIT:
  66.     SPACOS& = 16000000
  67.     SPACOL& = 67000000
  68.     SPACO& = SPACOS&
  69.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  70.     OPTCUR$ = "I"
  71.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  72.     
  73.     SaidaA$ = "O Windows serß reiniciado e o CD-ROM estarß pronto para ser executado."
  74.     SaidaB$ = "O CD-ROM nπo estarß pronto atΘ que o Windows seja reiniciado."
  75.     ErroFontes$ = "As fontes da Instalaτπo foram corrompidas. Procure Suporte TΘcnico."
  76.     
  77.     SetBitmap CUIDLL$, FUNDO
  78.     SetTitle "Playboy Club" 
  79.  
  80.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  81.     IF szInf$ = "" THEN
  82.     szInf$ = GetSymbolValue("STF_CWDDIR") + "PlayClub.INF"
  83.     END IF
  84.     ReadInfFile szInf$
  85.  
  86.     SRCDIR$ = GetSymbolValue("STF_SRCDIR")
  87.     CDROM$ = MID$(SRCDIR$,1,3)
  88.     WININI$ = MakePath(GetWindowsDir(),"WIN.INI")
  89.     SYSINI$ = MakePath(GetWindowsDir(),"SYSTEM.INI")
  90.     INI$ = MakePath(GetWindowsDir(),"PlayClub.INI")
  91. '*************************************************************************
  92. '$IFDEF DEBUG
  93.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  94.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  95.     DEST$ = WinDrive$
  96.     IF IsDriveValid(WinDrive$) = 0 THEN
  97.     i% = DoMsgBox("Drive Invßlido ('"+WinDrive$+"').", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  98.     GOTO QUIT
  99.     END IF
  100. '$ENDIF ''DEBUG
  101. '*************************************************************************
  102. GETPATH:
  103.     DEST$ = "C:\PlayClub"
  104.     SetSymbolValue "EditTextIn", DEST$
  105.     SetSymbolValue "EditFocus", "END"
  106. '*************************************************************************
  107. GETPATHL1:
  108.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  109.     DEST$ = GetSymbolValue("EditTextOut")
  110.  
  111.     IF sz$ = "CONTINUE" THEN
  112.         IF IsDirWritable(DEST$) = 0 THEN
  113.         GOSUB BADPATH
  114.         GOTO GETPATHL1
  115.         DEST$ = "C:\PLAYCLUB"
  116.         END IF
  117.     ELSEIF sz$ = "REACTIVATE" THEN
  118.         GOTO GETPATHL1
  119.     ELSE
  120.         GOSUB ASKQUIT
  121.         GOTO GETPATH
  122.     END IF
  123.      'Testa o espaco disponivel no CD-ROM
  124.      IF GetFreeSpaceForDrive( MID$( DEST$, 1, 1 ) ) < SPACO& THEN
  125.     GOSUB DRIVEFULL
  126.     GOTO GETPATHL1
  127.      END IF
  128.      UIPop 1
  129. ''*************************************************************************
  130.     Install
  131. ''*************************************************************************
  132. '    ERR = 0
  133. '    sz$ = UIStartDlg(CUIDLL$, ACTIVATEFONTS, "FInstFontDlgProc", 0, "")
  134. '    UIPop 1
  135. '    GOTO QUIT
  136. '*************************************************************************
  137. QUIT:
  138.     ON ERROR GOTO ERRQUIT
  139.     IF ERR = 0 THEN
  140.        ''Opτπo de reinicializar o Windows
  141.        dlg% = RESTARTWIN
  142.     ELSEIF ERR = STFQUIT THEN
  143.        dlg% = EXITQUIT
  144.     ELSE
  145.        dlg% = EXITFAILURE
  146.     END IF
  147. '*************************************************************************
  148. QUITL1:
  149.  
  150. ''Sai sem reiniciar o Windows
  151.     END
  152. ''''''''''''''''''''''''''''
  153.  
  154.      sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  155.      IF sz$ = "REACTIVATE" THEN
  156.      GOTO QUITL1
  157.      ELSEIF sz$ = "RESTART" THEN
  158.      i% = DoMsgBox( SaidaA$, "Instalaτπo", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  159.      ELSEIF sz$ = "EXIT" THEN
  160.      i% = DoMsgBox( SaidaB$, "Instalaτπo", MB_OK+MB_TASKMODAL+MB_ICONHAND)     
  161.      END IF
  162.      UIPop 1
  163.      END
  164.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  165.     IF sz$ = "REACTIVATE" THEN     ''Se o OK foi apertado...
  166.     GOTO QUITL1
  167.     END IF
  168. '*************************************************************************
  169. ERRQUIT:
  170.     i% = DoMsgBox(ErroFontes$, "Instalaτπo", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  171.     END
  172. '*************************************************************************
  173. DRIVEFULL:
  174.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  175.     IF sz$ = "REACTIVATE" THEN
  176.         GOTO DRIVEFULL
  177.     END IF
  178.     UIPop 1
  179.     RETURN
  180. '*************************************************************************
  181. BADPATH:
  182.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  183.     IF sz$ = "REACTIVATE" THEN
  184.         GOTO BADPATH
  185.     END IF
  186.     UIPop 1
  187.     RETURN
  188. '*************************************************************************
  189. ASKQUIT:
  190.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  191.  
  192.     IF sz$ = "EXIT" THEN
  193.     UIPopAll
  194.     ERROR STFQUIT
  195.     ELSEIF sz$ = "REACTIVATE" THEN
  196.      GOTO ASKQUIT
  197.     ELSE
  198.     UIPop 1
  199.     END IF
  200.     RETURN
  201. '*************************************************************************
  202. '**
  203. '** Purpose:
  204. '**     Builds the copy list and performs all installation operations.
  205. '** Arguments:
  206. '**     none.
  207. '** Returns:
  208. '**     none.
  209. '*************************************************************************
  210.  
  211. SUB Install STATIC 
  212.  
  213.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  214.     BackupInis("IBP")   
  215.     DIR$ = DEST$
  216.     ''Adiciona linhas de Animaτπo, Video Digital no Win.INI
  217.     CreateIniKeyValue WININI$,"MCI Extensions","avi","Avivideo", cmoAppend
  218.  
  219.     ''Adiciona linhas no System.INI
  220.     CreateIniKeyValue SYSINI$,"MCI", "Avivideo","mciavi.drv", cmoAppend
  221.  
  222.    ''Adiciona linhas no System.INI
  223.     CreateIniKeyValue SYSINI$,"MCI", "Animation1","mciaap.drv", cmoOverwrite
  224.     CreateIniKeyValue SYSINI$, "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite
  225.     CreateIniKeyValue SYSINI$, "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  226.     CreateIniKeyValue SYSINI$, "Drivers", "VIDC.IV32", "ir32.dll", cmoOverwrite
  227.     CreateIniKeyValue SYSINI$, "Drivers", "VIDC.IV31", "IR32.dll", cmoOverwrite
  228.     CreateIniKeyValue SYSINI$, "Drivers", "VIDC.MRLE", "MSRLE.drv", cmoOverwrite
  229.     I% = DoesIniKeyExist (SYSINI$, "Drivers", "VIDC.RT21")
  230.     IF I% = 0  THEN
  231.        CreateIniKeyValue SYSINI$, "Drivers", "VIDC.RT21", "ir21_r.dll", cmoOverwrite
  232.     END IF
  233.     CreateIniKeyValue SYSINI$, "Drivers", "VIDC.YVU9", "ir21_r.dll", cmoOverwrite
  234.     CreateIniKeyValue SYSINI$, "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  235.     CreateIniKeyValue SYSINI$, "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite
  236.     CreateIniKeyValue SYSINI$, "Drivers", "MSACM.msadpcm", "msadpcm.acm", cmoOverwrite
  237.     CreateIniKeyValue SYSINI$, "Drivers", "MSACM.imaadpcm", "imaadpcm.acm", cmoOverwrite
  238.  
  239.  
  240.     ''Acerta origem e destino da instalacao no .INI
  241.     INI$ =MakePath(GetWindowsDir(),"PlayClub.INI")     
  242.     CreateIniKeyValue INI$,"PATH","HD",DEST$, cmoOverwrite
  243.     CreateIniKeyValue INI$,"PATH","CD",SrcDir$+"PLAYCLUB\MIDIAS", cmoOverwrite
  244.     
  245.     ''localiza o .TBC para aplicacao ToolBook
  246.     INI_TB50$ = MakePath(GetWindowsDir(),"TB50.INI")     
  247.     CreateIniKeyValue INI_TB50$,"CACHE FILES","PLAYCLUB.EXE",DEST$+"\PLAYCLUB.TBC", cmoOverwrite
  248.     
  249. '*************************************************************************
  250.     ''Instala arquivos da seτπo VB4
  251.     AddSectionFilesToCopyList "VB4", SrcDir$+"VB\", Dest$
  252.  
  253.     ''Instala arquivos da seτπo SYSTEM
  254.     AddSectionFilesToCopyList "System", SrcDir$, MakePath(GetWindowsDir(),"SYSTEM")
  255.  
  256.     ''Instala arquivos da seτπo VFW
  257.     AddSectionFilesToCopyList "VFW", SrcDir$+"VFW\", MakePath(GetWindowsDir(),"SYSTEM")
  258.  
  259.     ''Instala arquivos da seτπo ToolBook
  260.     AddSectionFilesToCopyList "ToolBook", SrcDir$+"TBK\", Dest$
  261.  
  262.     ''Instala arquivos da seτπo EXE
  263.     AddSectionFilesToCopyList "EXE", SrcDir$+"EXESCR\", Dest$
  264.  
  265.     ''Instala arquivos da seτπo SCR
  266.     AddSectionFilesToCopyList "SCR", SrcDir$+"EXESCR\", MakePath(GetWindowsDir(),"SYSTEM")
  267.  
  268. '*************************************************************************
  269. ''Instala ou nao o modulo MMX e marca no .INI sua opcao
  270.  
  271.     ''i% = DoMsgBox( "Seu computador Θ MMX?", "Instalaτπo", 4+MB_TASKMODAL)
  272.     
  273.     ''if i% =6 then 
  274.  
  275.     j& = wincpufeatures() 
  276.     if j& >= 8388608 then 
  277.  
  278.         ''Instala arquivos da seτπo MMX
  279.         AddSectionFilesToCopyList "MMX", SrcDir$+"MMX\", Dest$
  280.         CreateIniKeyValue INI$,"MMX","IsMMX","1", cmoOverwrite
  281.  
  282.         ''Cria a seτπo de MMX vazia
  283.         CreateIniKeyValue INI$,"MMX","P_T","", cmoOverwrite
  284.         CreateIniKeyValue INI$,"MMX","P_B","", cmoOverwrite
  285.         CreateIniKeyValue INI$,"MMX","P_F","", cmoOverwrite
  286.         CreateIniKeyValue INI$,"MMX","P_A","", cmoOverwrite
  287.         CreateIniKeyValue INI$,"MMX","TIPO","", cmoOverwrite
  288.         CreateIniKeyValue INI$,"MMX","BACK","", cmoOverwrite
  289.         CreateIniKeyValue INI$,"MMX","FRONT","", cmoOverwrite
  290.         CreateIniKeyValue INI$,"MMX","AUDIO","", cmoOverwrite
  291.  
  292.         '' Roda a instalacao do video for Windows 4.1
  293.         Run (SrcDir$+"VFW4\Ivi_95nt.exe")   
  294.     else
  295.             'nao
  296.         CreateIniKeyValue INI$,"MMX","IsMMX","0", cmoOverwrite
  297.     end if
  298.  
  299.     ''Sempre inicia com 0
  300.     CreateIniKeyValue INI$,"PATH","PREVIEW","0", cmoOverwrite
  301. '*************************************************************************
  302.  
  303.     SetCopyGaugePosition 80, 110
  304.  
  305.     CopyFilesInCopyList
  306.         
  307.     '' Cria o grupo
  308.     CreateProgmanGroup "Playboy Club", "", cmoOverwrite
  309.     ShowProgmanGroup  "Playboy Club", 1, cmoOverwrite
  310.  
  311.     '' Cria os φcones Θ aqui
  312.     '' tem que copiar para o diretorio destino
  313.     CreateProgmanItem "Playboy Club", "Playboy Club", Dest$+"\Tb50Run.exe "+MakePath(SrcDir$+"PLAYCLUB\","PlayClub.exe") ,Dest$+"\playclub.ico", cmoOverwrite
  314.   
  315.     Run ("regedit.exe /s "+MakePath(GetWindowsDir(),"system\regmci16.txt"))   
  316.  
  317.  
  318.     ''Run ("profdisp.exe")   
  319.  
  320.     i% = DoMsgBox( "A instalaτπo do CD-ROM Playboy Club foi efetuada com sucesso.", "Instalaτπo", 0+MB_TASKMODAL)
  321.  
  322. END SUB
  323. '*************************************************************************
  324. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  325.     IF szDir$ = "" THEN
  326.     MakePath = szFile$
  327.     ELSEIF szFile$ = "" THEN
  328.     MakePath = szDir$
  329.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  330.     MakePath = szDir$ + szFile$
  331.     ELSE
  332.     MakePath = szDir$ + "\" + szFile$
  333.     END IF
  334. END FUNCTION
  335. '*************************************************************************
  336. SUB BackupInis(Extensao$) STATIC
  337.     WINBACK$ = MakePath(GetWindowsDir(),"WIN."+Extensao$)
  338.     SYSBACK$ = MakePath(GetWindowsDir(),"SYSTEM."+Extensao$)
  339.     IF EXISTS (WINBACK$) THEN
  340.        KILL WINBACK$
  341.     END IF
  342.     IF EXISTS (SYSBACK$) THEN
  343.        KILL SYSBACK$
  344.     END IF
  345.     OPEN WININI$ FOR INPUT AS 1
  346.     OPEN WINBACK$ FOR APPEND AS 2
  347.     WHILE EOF(1) = FALSE
  348.       LINE INPUT #1, LINHA$
  349.        PRINT #2,LINHA$
  350.     WEND
  351.     CLOSE 2
  352.     CLOSE 1
  353.     OPEN SYSINI$ FOR INPUT AS 1
  354.     OPEN SYSBACK$ FOR APPEND AS 2
  355.     WHILE EOF(1) = FALSE
  356.       LINE INPUT #1, LINHA$
  357.       PRINT #2,LINHA$
  358.     WEND
  359.     CLOSE 2
  360.     CLOSE 1
  361. End Sub
  362. '*************************************************************************